EAI software is generally designed to address the need of business to integrate various business software applications employed by the diverse operating sectors of a single business organization (for example, financial operations, human resources, shipping and receiving, etc.), or by such operating sectors of multiple organizations. Over time, many organizations incorporate disparate software applications, each designed to manage a specific business function or set of functions. Accordingly, data related to these business functions is dispersed across the organization, and resides separately within the various software applications.
Unfortunately, various software applications maintain data according to different data models, such as hierarchical networks, relational models, spreadsheets, multimedia databases, knowledge databases and other types of data models. Eventually, as more and more such applications are added to an organization, the need for data synchronization (or updating) and migration among applications grows. Thus, intelligent management, manipulation, and maintenance of organization-wide data requires an integration system capable of providing data transfer interfaces among the various heterogeneous applications employed throughout the organization (or across various organizations).
One product commonly found in modem business enterprises falls within the broad category of Enterprise Resource Planning "ERP") software which generally provides packaged suites of business applications. Examples of such ERP software include offerings by Oracle Corporation, SAP, PeopleSoft, and Baan. These ERP products may replace many individual business function applications with a single, integrated suite of applications, encompassing business operations including accounting, purchasing, shipping and receiving, human resources, etc. Notwithstanding a proliferation of such consolidated products, many organizations also maintain a variety of disparate applications as described above. Additionally, many organizations employ similar or identical ERP products at geographically diverse locations. Thus, integration among these heterogeneous applications and consolidated ERP products, as well as integration among ERP products, is desirable.
Various methods of meeting the above-described integration needs presently exist. One method is the development of custom integration software to interface, for example, an organization's specific set of heterogeneous applications with the applications within the organization's ERP product. The custom integration method employs a traditional software development model wherein custom code is written specifically to operate with a fixed group of heterogeneous applications and integrate them with an ERP product of a particular version. This method is time consuming, labor intensive and expensive to implement. Moreover, after the custom code is written, implemented, and tested, it provides the required integration only so long as the environment remains unchanged. When, for example, an updated version of the organization's ERP product is released, the custom integration software must be updated to correspond with the new version. This maintenance is also time-consuming and expensive. Additionally, because the timing of such maintenance depends entirely upon the new ERP product's release date, the associated costs are unpredictable and, therefore, difficult to budget.
Off-the-shelf, front-end integration packages, such as those provided by Cross Worlds or Constellar, are also available to address an organization's integration needs. This software is attached to the heterogeneous source applications and is used to query the source applications to obtain the desired data. Whole files are not transferred from a source application to a destination application for manipulation and use. More importantly, this front-end integration software does not directly integrate with the applications at the destination end, but instead requires a software developer to generate custom code to bridge the gap between the front-end package and the destination applications. Accordingly, this software shares some of the costs and inflexibility disadvantages inherent in custom-built interfaces.
Other integration tools, such as products like Smart dB, include templates to connect destination applications with back-end servers and source applications. These templates reduce labor costs by reducing the complexity of the overall integration task. However, such template tools are also undesirable because developers must write custom code to bridge the gap between the source applications and the templates.